In [1]:
import pylearn2.utils
import pylearn2.config
import theano
import neukrill_net.dense_dataset
import neukrill_net.utils
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import holoviews as hl
%load_ext holoviews.ipython
import sklearn.metrics


Using gpu device 0: Tesla K40c
:0: FutureWarning: IPython widgets are experimental and may change in the future.
Welcome to the HoloViews IPython extension! (http://ioam.github.io/holoviews/)
Available magics: %compositor, %opts, %params, %view, %%labels, %%opts, %%view
<matplotlib.figure.Figure at 0x7f70ed5d2890>
<matplotlib.figure.Figure at 0x7f70ed5d2f50>
<matplotlib.figure.Figure at 0x7f70ed5d2d50>

In [2]:
cd ..


/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-work

Building the model

This time we want to use a CompositeSpace again, but one of the inputs will just be a vector of pre-computed OpenCV features calculated straight from the raw images.


In [125]:
import pylearn2.space

In [126]:
final_shape = (48,48)
vector_size = 100

In [127]:
input_space = pylearn2.space.CompositeSpace([
    pylearn2.space.Conv2DSpace(shape=final_shape,num_channels=1,axes=['b',0,1,'c']),
    pylearn2.space.VectorSpace(vector_size)
    ])

Composite Layers

Up until we reach the fully connected layers we want to have a convolutional pipeline and a spacetransformer pipeline that just passes the vector inputs to the MLP layer. To do this, we have to define two of these pipelines inside a CompositeLayer.


In [128]:
import pylearn2.models.mlp
import pylearn2.blocks

First, we have to instantiate the above layers as their own MLP objects. Originally, I thought these should have an input_source to specify the inputs they take, turns out nested MLPs do not have input or target sources. Instantiating each:


In [129]:
convlayer = pylearn2.models.mlp.MLP(
    layer_name="convlayer",
    batch_size=128,
    layers=[pylearn2.models.mlp.ConvRectifiedLinear(
            layer_name='h1',
            output_channels=48,
            irange=0.025,
            init_bias=0,
            kernel_shape=[8,8],
            pool_shape=[2,2],
            pool_stride=[2,2],
            max_kernel_norm=1.9365
            ),
            pylearn2.models.mlp.ConvRectifiedLinear(
            layer_name='h2',
            output_channels=96,
            irange=0.025,
            init_bias=0,
            kernel_shape=[5,5],
            pool_shape=[2,2],
            pool_stride=[2,2],
            max_kernel_norm=1.9365
            ),
            pylearn2.models.mlp.ConvRectifiedLinear(
            layer_name='h3',
            output_channels=128,
            irange=0.025,
            init_bias=0,
            kernel_shape=[3,3],
            pool_shape=[2,2],
            pool_stride=[2,2],
            max_kernel_norm=1.9365
            ),
            pylearn2.models.mlp.ConvRectifiedLinear(
            layer_name='h4',
            output_channels=128,
            irange=0.025,
            init_bias=0,
            kernel_shape=[3,3],
            pool_shape=[2,2],
            pool_stride=[2,2],
            max_kernel_norm=1.9365
            )
        ]
    )

Can't figure out what the layer is called that just acts as a dummy so putting in a single MLP layer in the mean time. Could cause us problems.


In [130]:
passthrough = pylearn2.models.mlp.MLP(
    layer_name="passthrough",
    batch_size=128,
    layers=[pylearn2.models.mlp.RectifiedLinear(
                dim=256,
                max_col_norm=1.9,
                layer_name='h1p5',
                istdev=0.05,
                W_lr_scale=0.25,
                b_lr_scale=0.25)])

Then we can initialise our CompositeLayer with these two stacks of convolutional layers. Have to define dictionary mapping which of the inputs in the composite space supplied goes to which component of the space.


In [131]:
inputs_to_layers = {0:[0],1:[1]}
compositelayer = pylearn2.models.mlp.CompositeLayer(
                            layer_name="parallel_conv",
                            layers=[convlayer,passthrough],
                            inputs_to_layers=inputs_to_layers)

Unfortunately, it turns out we also have to put a FlattenerLayer around this so that the output of this layer will play nicely with the fully connected layer following this:


In [132]:
flattened = pylearn2.models.mlp.FlattenerLayer(raw_layer=compositelayer)

Now we need to connect this composite layer to the rest of the network, which is a single fully connected layer and the softmax output layer. To do this, we instantiate another MLP object, in which the first layer is this composite layer. This also when we use the composite input space we defined above.


In [133]:
n_classes=121

In [134]:
main_mlp =None

In [135]:
main_mlp = pylearn2.models.mlp.MLP(
        batch_size=128,
        input_space=input_space,
        input_source=['img_1','img_2'],
        layers=[
            flattened,
            pylearn2.models.mlp.RectifiedLinear(
                dim=1024,
                max_col_norm=1.9,
                layer_name='h5',
                istdev=0.05,
                W_lr_scale=0.25,
                b_lr_scale=0.25),
            pylearn2.models.mlp.Softmax(
                n_classes=121,
                max_col_norm=1.9365,
                layer_name='y',
                istdev=0.05,
                W_lr_scale=0.25,
                b_lr_scale=0.25
            )
        ]
    )


Input shape: (48, 48)
Detector space: (41, 41)
Output space: (21, 21)
Input shape: (21, 21)
Detector space: (17, 17)
Output space: (9, 9)
Input shape: (9, 9)
Detector space: (7, 7)
Output space: (4, 4)
Input shape: (4, 4)
Detector space: (2, 2)
Output space: (1, 1)

Creating the dataset

To test this model we need a dataset that's going to supply the input data in the correct format. This should be a tuple of 4D arrays returns by the iterator in the tuple containing the input and target batches. We can create this pretty easily by just making a Dataset that inherits our old ListDataset and creates an iterator that contains two FlyIterators.


In [136]:
import neukrill_net.image_directory_dataset
import copy

In [137]:
reload(neukrill_net.image_directory_dataset)


Out[137]:
<module 'neukrill_net.image_directory_dataset' from '/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-tools/neukrill_net/image_directory_dataset.pyc'>

In [138]:
class PassthroughIterator(object):
    def __init__(self, *args, **keyargs):
        keyargs['rng'] = np.random.RandomState(42)
        self.iterator_1 = neukrill_net.image_directory_dataset.FlyIterator(*args,**keyargs)
        
        self.cached = np.zeros((keyargs['num_batches']*keyargs['batch_size'],vector_size))
        self.cached = self.cached.astype(np.float32)
        self.batch_size = keyargs['batch_size']
        self.stochastic=False
        self.num_examples = self.iterator_1.num_examples
        
        self.index = 0
        
    def __iter__(self):
        return self
    
    def next(self):
        # get a batch from both iterators:
        Xbatch1,ybatch1 = self.iterator_1.next()
        vectorbatch = self.cached[self.index*self.batch_size:(self.index+1)*self.batch_size,:]
        self.index += 1
        return Xbatch1,vectorbatch,ybatch1

In [139]:
class PassthroughDataset(neukrill_net.image_directory_dataset.ListDataset):
    def iterator(self, mode=None, batch_size=None, num_batches=None, rng=None,
                data_specs=None, return_tuple=False):
        if not num_batches:
            num_batches = int(len(self.X)/batch_size)
        iterator = PassthroughIterator(dataset=self, batch_size=batch_size,
                               num_batches=num_batches,
                               final_shape=self.run_settings["final_shape"],
                               rng=None,mode=mode)
        return iterator

In [140]:
import neukrill_net.augment
import os

In [141]:
dataset = PassthroughDataset(
        transformer=neukrill_net.augment.RandomAugment(
            units='float',
            rotate=[0,90,180,270],
            rotate_is_resizable=0,
            flip=1,
            resize=final_shape,
            normalise={'global_or_pixel':'global',
                       'mu': 0.957,
                       'sigma': 0.142}
        ),
        settings_path=os.path.abspath("settings.json"),
        run_settings_path=os.path.abspath("run_settings/replicate_8aug.json"),
        force=True
    )

Testing this new dataset iterator:


In [142]:
iterator = dataset.iterator(mode='even_shuffled_sequential',batch_size=128)

In [143]:
X1,v,y = iterator.next()

Checking that the vector being produced is the right size:


In [144]:
print(v)
print(v.shape)


[[ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 ..., 
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]]
(128, 100)

Looks good. Image double check:


In [145]:
hl.Image(X1[0].squeeze())


Out[145]:

Creating the rest

The rest of the train object stays the same, apart from the save path and that the algorithm will have to load one of these new ParallelDataset objects for its validation set. So, we're missing:

  • algorithm - contains validation set, which must be set up as a parallel dataset.
  • extensions - keeping these the same but changing save paths

It's worth noting that when we define the cost and the weight decay we have to address the new convolutional layers inside the composite layer.


In [146]:
import pylearn2.training_algorithms.sgd
import pylearn2.costs.mlp.dropout
import pylearn2.costs.cost
import pylearn2.termination_criteria

In [147]:
algorithm = pylearn2.training_algorithms.sgd.SGD(
        train_iteration_mode='even_shuffled_sequential',
        monitor_iteration_mode='even_sequential',
        batch_size=128,
        learning_rate=0.1,
        learning_rule= pylearn2.training_algorithms.learning_rule.Momentum(
            init_momentum=0.5
        ),
        monitoring_dataset={
            'train':dataset,
            'valid':PassthroughDataset(
                transformer=neukrill_net.augment.RandomAugment(
                    units='float',
                    rotate=[0,90,180,270],
                    rotate_is_resizable=0,
                    flip=1,
                    resize=final_shape,
                    normalise={'global_or_pixel':'global',
                               'mu': 0.957,
                               'sigma': 0.142}
                ),
                settings_path=os.path.abspath("settings.json"),
                run_settings_path=os.path.abspath("run_settings/replicate_8aug.json"),
                force=True, training_set_mode='validation'
            )
        },
        cost=pylearn2.costs.cost.SumOfCosts(
            costs=[
                pylearn2.costs.mlp.dropout.Dropout(
                    input_include_probs={'h5':0.5},
                    input_scales={'h5':2.0}),
                pylearn2.costs.mlp.WeightDecay(coeffs={'parallel_conv':0.00005,
                                                'h5':0.00005})
            ]
        ),
        termination_criterion=pylearn2.termination_criteria.EpochCounter(max_epochs=500)
    )

In [148]:
import pylearn2.train_extensions
import pylearn2.train_extensions.best_params

In [149]:
extensions = [
    pylearn2.training_algorithms.learning_rule.MomentumAdjustor(
        start=1,
        saturate=200,
        final_momentum=0.95
    ),
    pylearn2.training_algorithms.sgd.LinearDecayOverEpoch(
        start=1,
        saturate=200,
        decay_factor=0.025
    ),
    pylearn2.train_extensions.best_params.MonitorBasedSaveBest(
        channel_name='valid_y_nll',
        save_path='/disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl'
    ),
    pylearn2.training_algorithms.sgd.MonitorBasedLRAdjuster(
        high_trigger=1.0,
        low_trigger=0.999,
        grow_amt=1.012,
        shrink_amt=0.986,
        max_lr=0.4,
        min_lr=0.00005,
        channel_name='valid_y_nll'
    )
]

Assembling the full train object

We now have everything we need to make up our train object, so we can put it together and see how well it runs.


In [150]:
import pylearn2.train

In [151]:
train = pylearn2.train.Train(
    dataset=dataset,
    model=main_mlp,
    algorithm=algorithm,
    extensions=extensions,
    save_path='/disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl',
    save_freq=1
)

We can live with that warning.

Now, attempting to run the model:


In [152]:
train.main_loop()


Parameter and initial learning rate summary:
	h1p5_W: 0.0250000003725
	h1p5_b: 0.0250000003725
	h1_W: 0.10000000149
	h1_b: 0.10000000149
	h2_W: 0.10000000149
	h2_b: 0.10000000149
	h3_W: 0.10000000149
	h3_b: 0.10000000149
	h4_W: 0.10000000149
	h4_b: 0.10000000149
	h5_W: 0.0250000003725
	h5_b: 0.0250000003725
	softmax_b: 0.0250000003725
	softmax_W: 0.0250000003725
Compiling sgd_update...
Compiling sgd_update done. Time elapsed: 6.494259 seconds
compiling begin_record_entry...
compiling begin_record_entry done. Time elapsed: 1.324182 seconds
Monitored channels: 
	learning_rate
	momentum
	total_seconds_last_epoch
	train_h5_col_norms_max
	train_h5_col_norms_mean
	train_h5_col_norms_min
	train_h5_max_x_max_u
	train_h5_max_x_mean_u
	train_h5_max_x_min_u
	train_h5_mean_x_max_u
	train_h5_mean_x_mean_u
	train_h5_mean_x_min_u
	train_h5_min_x_max_u
	train_h5_min_x_mean_u
	train_h5_min_x_min_u
	train_h5_range_x_max_u
	train_h5_range_x_mean_u
	train_h5_range_x_min_u
	train_h5_row_norms_max
	train_h5_row_norms_mean
	train_h5_row_norms_min
	train_objective
	train_parallel_conv_convlayer_h1_kernel_norms_max
	train_parallel_conv_convlayer_h1_kernel_norms_mean
	train_parallel_conv_convlayer_h1_kernel_norms_min
	train_parallel_conv_convlayer_h1_max_x_max_u
	train_parallel_conv_convlayer_h1_max_x_mean_u
	train_parallel_conv_convlayer_h1_max_x_min_u
	train_parallel_conv_convlayer_h1_mean_x_max_u
	train_parallel_conv_convlayer_h1_mean_x_mean_u
	train_parallel_conv_convlayer_h1_mean_x_min_u
	train_parallel_conv_convlayer_h1_min_x_max_u
	train_parallel_conv_convlayer_h1_min_x_mean_u
	train_parallel_conv_convlayer_h1_min_x_min_u
	train_parallel_conv_convlayer_h1_range_x_max_u
	train_parallel_conv_convlayer_h1_range_x_mean_u
	train_parallel_conv_convlayer_h1_range_x_min_u
	train_parallel_conv_convlayer_h2_kernel_norms_max
	train_parallel_conv_convlayer_h2_kernel_norms_mean
	train_parallel_conv_convlayer_h2_kernel_norms_min
	train_parallel_conv_convlayer_h2_max_x_max_u
	train_parallel_conv_convlayer_h2_max_x_mean_u
	train_parallel_conv_convlayer_h2_max_x_min_u
	train_parallel_conv_convlayer_h2_mean_x_max_u
	train_parallel_conv_convlayer_h2_mean_x_mean_u
	train_parallel_conv_convlayer_h2_mean_x_min_u
	train_parallel_conv_convlayer_h2_min_x_max_u
	train_parallel_conv_convlayer_h2_min_x_mean_u
	train_parallel_conv_convlayer_h2_min_x_min_u
	train_parallel_conv_convlayer_h2_range_x_max_u
	train_parallel_conv_convlayer_h2_range_x_mean_u
	train_parallel_conv_convlayer_h2_range_x_min_u
	train_parallel_conv_convlayer_h3_kernel_norms_max
	train_parallel_conv_convlayer_h3_kernel_norms_mean
	train_parallel_conv_convlayer_h3_kernel_norms_min
	train_parallel_conv_convlayer_h3_max_x_max_u
	train_parallel_conv_convlayer_h3_max_x_mean_u
	train_parallel_conv_convlayer_h3_max_x_min_u
	train_parallel_conv_convlayer_h3_mean_x_max_u
	train_parallel_conv_convlayer_h3_mean_x_mean_u
	train_parallel_conv_convlayer_h3_mean_x_min_u
	train_parallel_conv_convlayer_h3_min_x_max_u
	train_parallel_conv_convlayer_h3_min_x_mean_u
	train_parallel_conv_convlayer_h3_min_x_min_u
	train_parallel_conv_convlayer_h3_range_x_max_u
	train_parallel_conv_convlayer_h3_range_x_mean_u
	train_parallel_conv_convlayer_h3_range_x_min_u
	train_parallel_conv_convlayer_h4_kernel_norms_max
	train_parallel_conv_convlayer_h4_kernel_norms_mean
	train_parallel_conv_convlayer_h4_kernel_norms_min
	train_parallel_conv_convlayer_h4_max_x_max_u
	train_parallel_conv_convlayer_h4_max_x_mean_u
	train_parallel_conv_convlayer_h4_max_x_min_u
	train_parallel_conv_convlayer_h4_mean_x_max_u
	train_parallel_conv_convlayer_h4_mean_x_mean_u
	train_parallel_conv_convlayer_h4_mean_x_min_u
	train_parallel_conv_convlayer_h4_min_x_max_u
	train_parallel_conv_convlayer_h4_min_x_mean_u
	train_parallel_conv_convlayer_h4_min_x_min_u
	train_parallel_conv_convlayer_h4_range_x_max_u
	train_parallel_conv_convlayer_h4_range_x_mean_u
	train_parallel_conv_convlayer_h4_range_x_min_u
	train_parallel_conv_passthrough_h1p5_col_norms_max
	train_parallel_conv_passthrough_h1p5_col_norms_mean
	train_parallel_conv_passthrough_h1p5_col_norms_min
	train_parallel_conv_passthrough_h1p5_max_x_max_u
	train_parallel_conv_passthrough_h1p5_max_x_mean_u
	train_parallel_conv_passthrough_h1p5_max_x_min_u
	train_parallel_conv_passthrough_h1p5_mean_x_max_u
	train_parallel_conv_passthrough_h1p5_mean_x_mean_u
	train_parallel_conv_passthrough_h1p5_mean_x_min_u
	train_parallel_conv_passthrough_h1p5_min_x_max_u
	train_parallel_conv_passthrough_h1p5_min_x_mean_u
	train_parallel_conv_passthrough_h1p5_min_x_min_u
	train_parallel_conv_passthrough_h1p5_range_x_max_u
	train_parallel_conv_passthrough_h1p5_range_x_mean_u
	train_parallel_conv_passthrough_h1p5_range_x_min_u
	train_parallel_conv_passthrough_h1p5_row_norms_max
	train_parallel_conv_passthrough_h1p5_row_norms_mean
	train_parallel_conv_passthrough_h1p5_row_norms_min
	train_term_0
	train_term_1_weight_decay
	train_y_col_norms_max
	train_y_col_norms_mean
	train_y_col_norms_min
	train_y_max_max_class
	train_y_mean_max_class
	train_y_min_max_class
	train_y_misclass
	train_y_nll
	train_y_row_norms_max
	train_y_row_norms_mean
	train_y_row_norms_min
	training_seconds_this_epoch
	valid_h5_col_norms_max
	valid_h5_col_norms_mean
	valid_h5_col_norms_min
	valid_h5_max_x_max_u
	valid_h5_max_x_mean_u
	valid_h5_max_x_min_u
	valid_h5_mean_x_max_u
	valid_h5_mean_x_mean_u
	valid_h5_mean_x_min_u
	valid_h5_min_x_max_u
	valid_h5_min_x_mean_u
	valid_h5_min_x_min_u
	valid_h5_range_x_max_u
	valid_h5_range_x_mean_u
	valid_h5_range_x_min_u
	valid_h5_row_norms_max
	valid_h5_row_norms_mean
	valid_h5_row_norms_min
	valid_objective
	valid_parallel_conv_convlayer_h1_kernel_norms_max
	valid_parallel_conv_convlayer_h1_kernel_norms_mean
	valid_parallel_conv_convlayer_h1_kernel_norms_min
	valid_parallel_conv_convlayer_h1_max_x_max_u
	valid_parallel_conv_convlayer_h1_max_x_mean_u
	valid_parallel_conv_convlayer_h1_max_x_min_u
	valid_parallel_conv_convlayer_h1_mean_x_max_u
	valid_parallel_conv_convlayer_h1_mean_x_mean_u
	valid_parallel_conv_convlayer_h1_mean_x_min_u
	valid_parallel_conv_convlayer_h1_min_x_max_u
	valid_parallel_conv_convlayer_h1_min_x_mean_u
	valid_parallel_conv_convlayer_h1_min_x_min_u
	valid_parallel_conv_convlayer_h1_range_x_max_u
	valid_parallel_conv_convlayer_h1_range_x_mean_u
	valid_parallel_conv_convlayer_h1_range_x_min_u
	valid_parallel_conv_convlayer_h2_kernel_norms_max
	valid_parallel_conv_convlayer_h2_kernel_norms_mean
	valid_parallel_conv_convlayer_h2_kernel_norms_min
	valid_parallel_conv_convlayer_h2_max_x_max_u
	valid_parallel_conv_convlayer_h2_max_x_mean_u
	valid_parallel_conv_convlayer_h2_max_x_min_u
	valid_parallel_conv_convlayer_h2_mean_x_max_u
	valid_parallel_conv_convlayer_h2_mean_x_mean_u
	valid_parallel_conv_convlayer_h2_mean_x_min_u
	valid_parallel_conv_convlayer_h2_min_x_max_u
	valid_parallel_conv_convlayer_h2_min_x_mean_u
	valid_parallel_conv_convlayer_h2_min_x_min_u
	valid_parallel_conv_convlayer_h2_range_x_max_u
	valid_parallel_conv_convlayer_h2_range_x_mean_u
	valid_parallel_conv_convlayer_h2_range_x_min_u
	valid_parallel_conv_convlayer_h3_kernel_norms_max
	valid_parallel_conv_convlayer_h3_kernel_norms_mean
	valid_parallel_conv_convlayer_h3_kernel_norms_min
	valid_parallel_conv_convlayer_h3_max_x_max_u
	valid_parallel_conv_convlayer_h3_max_x_mean_u
	valid_parallel_conv_convlayer_h3_max_x_min_u
	valid_parallel_conv_convlayer_h3_mean_x_max_u
	valid_parallel_conv_convlayer_h3_mean_x_mean_u
	valid_parallel_conv_convlayer_h3_mean_x_min_u
	valid_parallel_conv_convlayer_h3_min_x_max_u
	valid_parallel_conv_convlayer_h3_min_x_mean_u
	valid_parallel_conv_convlayer_h3_min_x_min_u
	valid_parallel_conv_convlayer_h3_range_x_max_u
	valid_parallel_conv_convlayer_h3_range_x_mean_u
	valid_parallel_conv_convlayer_h3_range_x_min_u
	valid_parallel_conv_convlayer_h4_kernel_norms_max
	valid_parallel_conv_convlayer_h4_kernel_norms_mean
	valid_parallel_conv_convlayer_h4_kernel_norms_min
	valid_parallel_conv_convlayer_h4_max_x_max_u
	valid_parallel_conv_convlayer_h4_max_x_mean_u
	valid_parallel_conv_convlayer_h4_max_x_min_u
	valid_parallel_conv_convlayer_h4_mean_x_max_u
	valid_parallel_conv_convlayer_h4_mean_x_mean_u
	valid_parallel_conv_convlayer_h4_mean_x_min_u
	valid_parallel_conv_convlayer_h4_min_x_max_u
	valid_parallel_conv_convlayer_h4_min_x_mean_u
	valid_parallel_conv_convlayer_h4_min_x_min_u
	valid_parallel_conv_convlayer_h4_range_x_max_u
	valid_parallel_conv_convlayer_h4_range_x_mean_u
	valid_parallel_conv_convlayer_h4_range_x_min_u
	valid_parallel_conv_passthrough_h1p5_col_norms_max
	valid_parallel_conv_passthrough_h1p5_col_norms_mean
	valid_parallel_conv_passthrough_h1p5_col_norms_min
	valid_parallel_conv_passthrough_h1p5_max_x_max_u
	valid_parallel_conv_passthrough_h1p5_max_x_mean_u
	valid_parallel_conv_passthrough_h1p5_max_x_min_u
	valid_parallel_conv_passthrough_h1p5_mean_x_max_u
	valid_parallel_conv_passthrough_h1p5_mean_x_mean_u
	valid_parallel_conv_passthrough_h1p5_mean_x_min_u
	valid_parallel_conv_passthrough_h1p5_min_x_max_u
	valid_parallel_conv_passthrough_h1p5_min_x_mean_u
	valid_parallel_conv_passthrough_h1p5_min_x_min_u
	valid_parallel_conv_passthrough_h1p5_range_x_max_u
	valid_parallel_conv_passthrough_h1p5_range_x_mean_u
	valid_parallel_conv_passthrough_h1p5_range_x_min_u
	valid_parallel_conv_passthrough_h1p5_row_norms_max
	valid_parallel_conv_passthrough_h1p5_row_norms_mean
	valid_parallel_conv_passthrough_h1p5_row_norms_min
	valid_term_0
	valid_term_1_weight_decay
	valid_y_col_norms_max
	valid_y_col_norms_mean
	valid_y_col_norms_min
	valid_y_max_max_class
	valid_y_mean_max_class
	valid_y_min_max_class
	valid_y_misclass
	valid_y_nll
	valid_y_row_norms_max
	valid_y_row_norms_mean
	valid_y_row_norms_min
Compiling accum...
ERROR (theano.gof.opt): SeqOptimizer apply MergeOptimizer
ERROR:theano.gof.opt:SeqOptimizer apply MergeOptimizer
ERROR (theano.gof.opt): Traceback:
ERROR:theano.gof.opt:Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR:theano.gof.opt:Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR (theano.gof.opt): SeqOptimizer apply MergeOptimizer
ERROR:theano.gof.opt:SeqOptimizer apply MergeOptimizer
ERROR (theano.gof.opt): Traceback:
ERROR:theano.gof.opt:Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

ERROR:theano.gof.opt:Traceback (most recent call last):
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 195, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 81, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/opt.py", line 621, in apply
    fgraph.replace_all_validate(pairs, 'MergeOptimizer')
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/toolbox.py", line 258, in replace_all_validate
    fgraph.replace(r, new_r, reason=reason, verbose=False)
  File "/afs/inf.ed.ac.uk/user/s08/s0805516/repos/Theano/theano/gof/fg.py", line 467, in replace
    raise TypeError("The type of the replacement must be the same as the type of the original Variable.", r, new_r, r.type, new_r.type, str(reason))
TypeError: ('The type of the replacement must be the same as the type of the original Variable.', GpuReshape{4}.0, GpuReshape{4}.0, CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (False, False, True, True)), 'MergeOptimizer')

graph size: 717
graph size: 713
Compiling accum done. Time elapsed: 36.505606 seconds
Monitoring step:
	Epochs seen: 0
	Batches seen: 0
	Examples seen: 0
	learning_rate: 0.100000113249
	momentum: 0.49999922514
	total_seconds_last_epoch: 0.0
	train_h5_col_norms_max: 1.09158229828
	train_h5_col_norms_mean: 0.97610026598
	train_h5_col_norms_min: 0.865485668182
	train_h5_max_x_max_u: 0.0374856851995
	train_h5_max_x_mean_u: 0.00641988078132
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 0.0240020323545
	train_h5_mean_x_mean_u: 0.0028201371897
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.0103577403352
	train_h5_min_x_mean_u: 0.000680151977576
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 0.027447886765
	train_h5_range_x_mean_u: 0.00573972798884
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.69188833237
	train_h5_row_norms_mean: 1.59457719326
	train_h5_row_norms_min: 1.4787914753
	train_objective: 4.84974098206
	train_parallel_conv_convlayer_h1_kernel_norms_max: 0.127521842718
	train_parallel_conv_convlayer_h1_kernel_norms_mean: 0.114065259695
	train_parallel_conv_convlayer_h1_kernel_norms_min: 0.102951958776
	train_parallel_conv_convlayer_h1_max_x_max_u: 1.39545881748
	train_parallel_conv_convlayer_h1_max_x_mean_u: 0.282851099968
	train_parallel_conv_convlayer_h1_max_x_min_u: 0.0030705826357
	train_parallel_conv_convlayer_h1_mean_x_max_u: 0.535210072994
	train_parallel_conv_convlayer_h1_mean_x_mean_u: 0.0451854169369
	train_parallel_conv_convlayer_h1_mean_x_min_u: 0.000248347932938
	train_parallel_conv_convlayer_h1_min_x_max_u: 0.0866171121597
	train_parallel_conv_convlayer_h1_min_x_mean_u: 0.00127937702928
	train_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h1_range_x_max_u: 1.39241743088
	train_parallel_conv_convlayer_h1_range_x_mean_u: 0.281571686268
	train_parallel_conv_convlayer_h1_range_x_min_u: 0.0030705826357
	train_parallel_conv_convlayer_h2_kernel_norms_max: 0.513461410999
	train_parallel_conv_convlayer_h2_kernel_norms_mean: 0.501124739647
	train_parallel_conv_convlayer_h2_kernel_norms_min: 0.48504909873
	train_parallel_conv_convlayer_h2_max_x_max_u: 0.506728827953
	train_parallel_conv_convlayer_h2_max_x_mean_u: 0.126975402236
	train_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_mean_x_max_u: 0.235468417406
	train_parallel_conv_convlayer_h2_mean_x_mean_u: 0.0276460647583
	train_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_min_x_max_u: 0.0602164268494
	train_parallel_conv_convlayer_h2_min_x_mean_u: 0.00115216278937
	train_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_range_x_max_u: 0.501688122749
	train_parallel_conv_convlayer_h2_range_x_mean_u: 0.125823259354
	train_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_kernel_norms_max: 0.439075142145
	train_parallel_conv_convlayer_h3_kernel_norms_mean: 0.425010442734
	train_parallel_conv_convlayer_h3_kernel_norms_min: 0.406114637852
	train_parallel_conv_convlayer_h3_max_x_max_u: 0.163194164634
	train_parallel_conv_convlayer_h3_max_x_mean_u: 0.0407284386456
	train_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_mean_x_max_u: 0.0890604779124
	train_parallel_conv_convlayer_h3_mean_x_mean_u: 0.0122517077252
	train_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_min_x_max_u: 0.030943678692
	train_parallel_conv_convlayer_h3_min_x_mean_u: 0.0011246035574
	train_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_range_x_max_u: 0.15373532474
	train_parallel_conv_convlayer_h3_range_x_mean_u: 0.0396038554609
	train_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_kernel_norms_max: 0.501794576645
	train_parallel_conv_convlayer_h4_kernel_norms_mean: 0.489565014839
	train_parallel_conv_convlayer_h4_kernel_norms_min: 0.468979150057
	train_parallel_conv_convlayer_h4_max_x_max_u: 0.0562569312751
	train_parallel_conv_convlayer_h4_max_x_mean_u: 0.0180198736489
	train_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_mean_x_max_u: 0.032963167876
	train_parallel_conv_convlayer_h4_mean_x_mean_u: 0.00789148826152
	train_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_min_x_max_u: 0.0147683909163
	train_parallel_conv_convlayer_h4_min_x_mean_u: 0.00186977838166
	train_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_range_x_max_u: 0.046906132251
	train_parallel_conv_convlayer_h4_range_x_mean_u: 0.0161500908434
	train_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_col_norms_max: 0.613751173019
	train_parallel_conv_passthrough_h1p5_col_norms_mean: 0.499514997005
	train_parallel_conv_passthrough_h1p5_col_norms_min: 0.407425999641
	train_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_row_norms_max: 0.879460334778
	train_parallel_conv_passthrough_h1p5_row_norms_mean: 0.800288200378
	train_parallel_conv_passthrough_h1p5_row_norms_min: 0.713147580624
	train_term_0: 4.7942070961
	train_term_1_weight_decay: 0.055980682373
	train_y_col_norms_max: 1.67981696129
	train_y_col_norms_mean: 1.60014212132
	train_y_col_norms_min: 1.53101873398
	train_y_max_max_class: 0.00848287902772
	train_y_mean_max_class: 0.00840395223349
	train_y_min_max_class: 0.00832598563284
	train_y_misclass: 0.986068546772
	train_y_nll: 4.79499483109
	train_y_row_norms_max: 0.66630846262
	train_y_row_norms_mean: 0.548979818821
	train_y_row_norms_min: 0.446325868368
	training_seconds_this_epoch: 0.0
	valid_h5_col_norms_max: 1.09158086777
	valid_h5_col_norms_mean: 0.976099073887
	valid_h5_col_norms_min: 0.865483760834
	valid_h5_max_x_max_u: 0.0394998379052
	valid_h5_max_x_mean_u: 0.0068211494945
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.0238124765456
	valid_h5_mean_x_mean_u: 0.0027995526325
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.00840456411242
	valid_h5_min_x_mean_u: 0.000546186463907
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 0.0315064489841
	valid_h5_range_x_mean_u: 0.00627496326342
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.69189083576
	valid_h5_row_norms_mean: 1.59457564354
	valid_h5_row_norms_min: 1.47878909111
	valid_objective: 4.8496799469
	valid_parallel_conv_convlayer_h1_kernel_norms_max: 0.127522051334
	valid_parallel_conv_convlayer_h1_kernel_norms_mean: 0.114065490663
	valid_parallel_conv_convlayer_h1_kernel_norms_min: 0.102951861918
	valid_parallel_conv_convlayer_h1_max_x_max_u: 1.45741868019
	valid_parallel_conv_convlayer_h1_max_x_mean_u: 0.308896869421
	valid_parallel_conv_convlayer_h1_max_x_min_u: 0.00400035455823
	valid_parallel_conv_convlayer_h1_mean_x_max_u: 0.520340561867
	valid_parallel_conv_convlayer_h1_mean_x_mean_u: 0.044956792146
	valid_parallel_conv_convlayer_h1_mean_x_min_u: 0.000255925115198
	valid_parallel_conv_convlayer_h1_min_x_max_u: 0.067897759378
	valid_parallel_conv_convlayer_h1_min_x_mean_u: 0.000872007396538
	valid_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h1_range_x_max_u: 1.45425355434
	valid_parallel_conv_convlayer_h1_range_x_mean_u: 0.30802488327
	valid_parallel_conv_convlayer_h1_range_x_min_u: 0.00400035455823
	valid_parallel_conv_convlayer_h2_kernel_norms_max: 0.513462245464
	valid_parallel_conv_convlayer_h2_kernel_norms_mean: 0.501125216484
	valid_parallel_conv_convlayer_h2_kernel_norms_min: 0.485049307346
	valid_parallel_conv_convlayer_h2_max_x_max_u: 0.537588179111
	valid_parallel_conv_convlayer_h2_max_x_mean_u: 0.136785373092
	valid_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_mean_x_max_u: 0.227958232164
	valid_parallel_conv_convlayer_h2_mean_x_mean_u: 0.0273949056864
	valid_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_min_x_max_u: 0.0503464452922
	valid_parallel_conv_convlayer_h2_min_x_mean_u: 0.000894769094884
	valid_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_range_x_max_u: 0.536081314087
	valid_parallel_conv_convlayer_h2_range_x_mean_u: 0.135890632868
	valid_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_kernel_norms_max: 0.439074546099
	valid_parallel_conv_convlayer_h3_kernel_norms_mean: 0.425009936094
	valid_parallel_conv_convlayer_h3_kernel_norms_min: 0.406115174294
	valid_parallel_conv_convlayer_h3_max_x_max_u: 0.171653985977
	valid_parallel_conv_convlayer_h3_max_x_mean_u: 0.0434133224189
	valid_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_mean_x_max_u: 0.0872454494238
	valid_parallel_conv_convlayer_h3_mean_x_mean_u: 0.012135556899
	valid_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_min_x_max_u: 0.0258058942854
	valid_parallel_conv_convlayer_h3_min_x_mean_u: 0.00087039830396
	valid_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_range_x_max_u: 0.165369138122
	valid_parallel_conv_convlayer_h3_range_x_mean_u: 0.0425429232419
	valid_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_kernel_norms_max: 0.50179374218
	valid_parallel_conv_convlayer_h4_kernel_norms_mean: 0.489563822746
	valid_parallel_conv_convlayer_h4_kernel_norms_min: 0.46897906065
	valid_parallel_conv_convlayer_h4_max_x_max_u: 0.0594280548394
	valid_parallel_conv_convlayer_h4_max_x_mean_u: 0.0190476030111
	valid_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_mean_x_max_u: 0.0325198955834
	valid_parallel_conv_convlayer_h4_mean_x_mean_u: 0.00783205311745
	valid_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_min_x_max_u: 0.0119618531317
	valid_parallel_conv_convlayer_h4_min_x_mean_u: 0.00150397408288
	valid_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_range_x_max_u: 0.0511941090226
	valid_parallel_conv_convlayer_h4_range_x_mean_u: 0.0175436269492
	valid_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_col_norms_max: 0.613750815392
	valid_parallel_conv_passthrough_h1p5_col_norms_mean: 0.499515920877
	valid_parallel_conv_passthrough_h1p5_col_norms_min: 0.407426595688
	valid_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_row_norms_max: 0.879461526871
	valid_parallel_conv_passthrough_h1p5_row_norms_mean: 0.800289154053
	valid_parallel_conv_passthrough_h1p5_row_norms_min: 0.713146626949
	valid_term_0: 4.79291152954
	valid_term_1_weight_decay: 0.0559806413949
	valid_y_col_norms_max: 1.67981946468
	valid_y_col_norms_mean: 1.60013973713
	valid_y_col_norms_min: 1.53101766109
	valid_y_max_max_class: 0.00849923957139
	valid_y_mean_max_class: 0.00840315781534
	valid_y_min_max_class: 0.00831533223391
	valid_y_misclass: 0.98675262928
	valid_y_nll: 4.79495191574
	valid_y_row_norms_max: 0.666310012341
	valid_y_row_norms_mean: 0.548980474472
	valid_y_row_norms_min: 0.446326136589
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl done. Time elapsed: 0.421714 seconds
/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/monitor.py:573: UserWarning: Trained model saved without indicating yaml_src
  'indicating yaml_src')
Time this epoch: 0:01:44.927378
Monitoring step:
	Epochs seen: 1
	Batches seen: 189
	Examples seen: 24192
	learning_rate: 0.0995122715831
	momentum: 0.49999922514
	total_seconds_last_epoch: 0.0
	train_h5_col_norms_max: 1.08959054947
	train_h5_col_norms_mean: 0.97529989481
	train_h5_col_norms_min: 0.86380147934
	train_h5_max_x_max_u: 1.23018538952
	train_h5_max_x_mean_u: 0.208481952548
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 0.752106904984
	train_h5_mean_x_mean_u: 0.0871087238193
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.398169904947
	train_h5_min_x_mean_u: 0.017019148916
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 1.08478045464
	train_h5_range_x_mean_u: 0.191462770104
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.69026648998
	train_h5_row_norms_mean: 1.59327042103
	train_h5_row_norms_min: 1.4773734808
	train_objective: 3.97384262085
	train_parallel_conv_convlayer_h1_kernel_norms_max: 0.333131581545
	train_parallel_conv_convlayer_h1_kernel_norms_mean: 0.184635102749
	train_parallel_conv_convlayer_h1_kernel_norms_min: 0.117789670825
	train_parallel_conv_convlayer_h1_max_x_max_u: 6.46911334991
	train_parallel_conv_convlayer_h1_max_x_mean_u: 0.65064227581
	train_parallel_conv_convlayer_h1_max_x_min_u: 0.00392004102468
	train_parallel_conv_convlayer_h1_mean_x_max_u: 2.74744868279
	train_parallel_conv_convlayer_h1_mean_x_mean_u: 0.16380046308
	train_parallel_conv_convlayer_h1_mean_x_min_u: 0.000300550425891
	train_parallel_conv_convlayer_h1_min_x_max_u: 0.640564322472
	train_parallel_conv_convlayer_h1_min_x_mean_u: 0.00954291131347
	train_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h1_range_x_max_u: 6.46526384354
	train_parallel_conv_convlayer_h1_range_x_mean_u: 0.641099393368
	train_parallel_conv_convlayer_h1_range_x_min_u: 0.00392004102468
	train_parallel_conv_convlayer_h2_kernel_norms_max: 0.628861665726
	train_parallel_conv_convlayer_h2_kernel_norms_mean: 0.515351593494
	train_parallel_conv_convlayer_h2_kernel_norms_min: 0.492168366909
	train_parallel_conv_convlayer_h2_max_x_max_u: 3.25371932983
	train_parallel_conv_convlayer_h2_max_x_mean_u: 0.566276788712
	train_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_mean_x_max_u: 1.79206943512
	train_parallel_conv_convlayer_h2_mean_x_mean_u: 0.120788760483
	train_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_min_x_max_u: 0.842818140984
	train_parallel_conv_convlayer_h2_min_x_mean_u: 0.00430322112516
	train_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_range_x_max_u: 3.24249458313
	train_parallel_conv_convlayer_h2_range_x_mean_u: 0.561973750591
	train_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_kernel_norms_max: 0.482739955187
	train_parallel_conv_convlayer_h3_kernel_norms_mean: 0.438877940178
	train_parallel_conv_convlayer_h3_kernel_norms_min: 0.41636300087
	train_parallel_conv_convlayer_h3_max_x_max_u: 1.88444685936
	train_parallel_conv_convlayer_h3_max_x_mean_u: 0.396978914738
	train_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_mean_x_max_u: 0.907800018787
	train_parallel_conv_convlayer_h3_mean_x_mean_u: 0.112529873848
	train_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_min_x_max_u: 0.257840007544
	train_parallel_conv_convlayer_h3_min_x_mean_u: 0.00332016148604
	train_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_range_x_max_u: 1.87446522713
	train_parallel_conv_convlayer_h3_range_x_mean_u: 0.39365875721
	train_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_kernel_norms_max: 0.603041887283
	train_parallel_conv_convlayer_h4_kernel_norms_mean: 0.511588931084
	train_parallel_conv_convlayer_h4_kernel_norms_min: 0.4697689116
	train_parallel_conv_convlayer_h4_max_x_max_u: 1.80087387562
	train_parallel_conv_convlayer_h4_max_x_mean_u: 0.431036263704
	train_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_mean_x_max_u: 1.02600955963
	train_parallel_conv_convlayer_h4_mean_x_mean_u: 0.168681338429
	train_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_min_x_max_u: 0.283429682255
	train_parallel_conv_convlayer_h4_min_x_mean_u: 0.0158408749849
	train_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_range_x_max_u: 1.7075432539
	train_parallel_conv_convlayer_h4_range_x_mean_u: 0.415195375681
	train_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_col_norms_max: 0.613154292107
	train_parallel_conv_passthrough_h1p5_col_norms_mean: 0.499029278755
	train_parallel_conv_passthrough_h1p5_col_norms_min: 0.407029688358
	train_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_row_norms_max: 0.878604531288
	train_parallel_conv_passthrough_h1p5_row_norms_mean: 0.799508750439
	train_parallel_conv_passthrough_h1p5_row_norms_min: 0.71245020628
	train_term_0: 3.92011737823
	train_term_1_weight_decay: 0.0562432594597
	train_y_col_norms_max: 1.67875802517
	train_y_col_norms_mean: 1.60158467293
	train_y_col_norms_min: 1.53455460072
	train_y_max_max_class: 0.137656867504
	train_y_mean_max_class: 0.06653881073
	train_y_min_max_class: 0.0247988291085
	train_y_misclass: 0.857803404331
	train_y_nll: 3.87659168243
	train_y_row_norms_max: 0.668668925762
	train_y_row_norms_mean: 0.549453854561
	train_y_row_norms_min: 0.44723123312
	training_seconds_this_epoch: 104.927200317
	valid_h5_col_norms_max: 1.08959138393
	valid_h5_col_norms_mean: 0.975297451019
	valid_h5_col_norms_min: 0.863802611828
	valid_h5_max_x_max_u: 1.28809249401
	valid_h5_max_x_mean_u: 0.231059908867
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.73898178339
	valid_h5_mean_x_mean_u: 0.087565228343
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.322153717279
	valid_h5_min_x_mean_u: 0.0106128528714
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 1.23438489437
	valid_h5_range_x_mean_u: 0.220447063446
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.69027042389
	valid_h5_row_norms_mean: 1.5932687521
	valid_h5_row_norms_min: 1.47737240791
	valid_objective: 3.9709379673
	valid_parallel_conv_convlayer_h1_kernel_norms_max: 0.33313202858
	valid_parallel_conv_convlayer_h1_kernel_norms_mean: 0.18463511765
	valid_parallel_conv_convlayer_h1_kernel_norms_min: 0.117789514363
	valid_parallel_conv_convlayer_h1_max_x_max_u: 6.7897362709
	valid_parallel_conv_convlayer_h1_max_x_mean_u: 0.700226664543
	valid_parallel_conv_convlayer_h1_max_x_min_u: 0.00878135673702
	valid_parallel_conv_convlayer_h1_mean_x_max_u: 2.67427992821
	valid_parallel_conv_convlayer_h1_mean_x_mean_u: 0.163317799568
	valid_parallel_conv_convlayer_h1_mean_x_min_u: 0.000851149554364
	valid_parallel_conv_convlayer_h1_min_x_max_u: 0.530711293221
	valid_parallel_conv_convlayer_h1_min_x_mean_u: 0.00672636786476
	valid_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h1_range_x_max_u: 6.78913831711
	valid_parallel_conv_convlayer_h1_range_x_mean_u: 0.69350028038
	valid_parallel_conv_convlayer_h1_range_x_min_u: 0.00878135673702
	valid_parallel_conv_convlayer_h2_kernel_norms_max: 0.628861963749
	valid_parallel_conv_convlayer_h2_kernel_norms_mean: 0.515351116657
	valid_parallel_conv_convlayer_h2_kernel_norms_min: 0.492167264223
	valid_parallel_conv_convlayer_h2_max_x_max_u: 3.36048531532
	valid_parallel_conv_convlayer_h2_max_x_mean_u: 0.621810972691
	valid_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_mean_x_max_u: 1.74799180031
	valid_parallel_conv_convlayer_h2_mean_x_mean_u: 0.119752690196
	valid_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_min_x_max_u: 0.691094756126
	valid_parallel_conv_convlayer_h2_min_x_mean_u: 0.00254515348934
	valid_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_range_x_max_u: 3.35344076157
	valid_parallel_conv_convlayer_h2_range_x_mean_u: 0.619265913963
	valid_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_kernel_norms_max: 0.482740342617
	valid_parallel_conv_convlayer_h3_kernel_norms_mean: 0.438877135515
	valid_parallel_conv_convlayer_h3_kernel_norms_min: 0.416362196207
	valid_parallel_conv_convlayer_h3_max_x_max_u: 1.9987527132
	valid_parallel_conv_convlayer_h3_max_x_mean_u: 0.427504777908
	valid_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_mean_x_max_u: 0.859351456165
	valid_parallel_conv_convlayer_h3_mean_x_mean_u: 0.112401023507
	valid_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_min_x_max_u: 0.182121470571
	valid_parallel_conv_convlayer_h3_min_x_mean_u: 0.0012267997954
	valid_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_range_x_max_u: 1.99154269695
	valid_parallel_conv_convlayer_h3_range_x_mean_u: 0.426278024912
	valid_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_kernel_norms_max: 0.603042781353
	valid_parallel_conv_convlayer_h4_kernel_norms_mean: 0.511588215828
	valid_parallel_conv_convlayer_h4_kernel_norms_min: 0.469769507647
	valid_parallel_conv_convlayer_h4_max_x_max_u: 1.83392596245
	valid_parallel_conv_convlayer_h4_max_x_mean_u: 0.477682441473
	valid_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_mean_x_max_u: 0.978989958763
	valid_parallel_conv_convlayer_h4_mean_x_mean_u: 0.169315725565
	valid_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_min_x_max_u: 0.149056851864
	valid_parallel_conv_convlayer_h4_min_x_mean_u: 0.00492251338437
	valid_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_range_x_max_u: 1.81615459919
	valid_parallel_conv_convlayer_h4_range_x_mean_u: 0.472759962082
	valid_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_col_norms_max: 0.613154530525
	valid_parallel_conv_passthrough_h1p5_col_norms_mean: 0.499029278755
	valid_parallel_conv_passthrough_h1p5_col_norms_min: 0.407028913498
	valid_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_row_norms_max: 0.878605902195
	valid_parallel_conv_passthrough_h1p5_row_norms_mean: 0.799509704113
	valid_parallel_conv_passthrough_h1p5_row_norms_min: 0.712451159954
	valid_term_0: 3.90336966515
	valid_term_1_weight_decay: 0.0562431626022
	valid_y_col_norms_max: 1.67876040936
	valid_y_col_norms_mean: 1.60158574581
	valid_y_col_norms_min: 1.53455209732
	valid_y_max_max_class: 0.15762488544
	valid_y_mean_max_class: 0.0670693293214
	valid_y_min_max_class: 0.0211698208004
	valid_y_misclass: 0.856657505035
	valid_y_nll: 3.86564874649
	valid_y_row_norms_max: 0.668667912483
	valid_y_row_norms_mean: 0.54945486784
	valid_y_row_norms_min: 0.447230875492
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl done. Time elapsed: 0.403111 seconds
monitoring channel is valid_y_nll
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl done. Time elapsed: 0.400868 seconds
Time this epoch: 0:01:46.335021
Monitoring step:
	Epochs seen: 2
	Batches seen: 378
	Examples seen: 48384
	learning_rate: 0.0990249440074
	momentum: 0.502262055874
	total_seconds_last_epoch: 234.179168701
	train_h5_col_norms_max: 1.08789992332
	train_h5_col_norms_mean: 0.974682509899
	train_h5_col_norms_min: 0.861658811569
	train_h5_max_x_max_u: 1.53186094761
	train_h5_max_x_mean_u: 0.321827679873
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 0.857952654362
	train_h5_mean_x_mean_u: 0.103053785861
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.30696284771
	train_h5_min_x_mean_u: 0.00707844505087
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 1.42881321907
	train_h5_range_x_mean_u: 0.314749270678
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.68864274025
	train_h5_row_norms_mean: 1.59225738049
	train_h5_row_norms_min: 1.47595262527
	train_objective: 3.49223017693
	train_parallel_conv_convlayer_h1_kernel_norms_max: 0.545070111752
	train_parallel_conv_convlayer_h1_kernel_norms_mean: 0.257933348417
	train_parallel_conv_convlayer_h1_kernel_norms_min: 0.132627859712
	train_parallel_conv_convlayer_h1_max_x_max_u: 5.00248479843
	train_parallel_conv_convlayer_h1_max_x_mean_u: 0.835381686687
	train_parallel_conv_convlayer_h1_max_x_min_u: 0.00515155028552
	train_parallel_conv_convlayer_h1_mean_x_max_u: 2.07331752777
	train_parallel_conv_convlayer_h1_mean_x_mean_u: 0.245987579226
	train_parallel_conv_convlayer_h1_mean_x_min_u: 0.000270412216196
	train_parallel_conv_convlayer_h1_min_x_max_u: 0.954268455505
	train_parallel_conv_convlayer_h1_min_x_mean_u: 0.0162681210786
	train_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h1_range_x_max_u: 4.99087381363
	train_parallel_conv_convlayer_h1_range_x_mean_u: 0.819113910198
	train_parallel_conv_convlayer_h1_range_x_min_u: 0.00515155028552
	train_parallel_conv_convlayer_h2_kernel_norms_max: 0.697414815426
	train_parallel_conv_convlayer_h2_kernel_norms_mean: 0.541957259178
	train_parallel_conv_convlayer_h2_kernel_norms_min: 0.491711318493
	train_parallel_conv_convlayer_h2_max_x_max_u: 4.41097593307
	train_parallel_conv_convlayer_h2_max_x_mean_u: 0.802162647247
	train_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_mean_x_max_u: 2.94959354401
	train_parallel_conv_convlayer_h2_mean_x_mean_u: 0.165126010776
	train_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_min_x_max_u: 1.2465903759
	train_parallel_conv_convlayer_h2_min_x_mean_u: 0.00475287437439
	train_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_range_x_max_u: 4.40985202789
	train_parallel_conv_convlayer_h2_range_x_mean_u: 0.797409832478
	train_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_kernel_norms_max: 0.635496735573
	train_parallel_conv_convlayer_h3_kernel_norms_mean: 0.475601941347
	train_parallel_conv_convlayer_h3_kernel_norms_min: 0.417281508446
	train_parallel_conv_convlayer_h3_max_x_max_u: 3.13928365707
	train_parallel_conv_convlayer_h3_max_x_mean_u: 0.60772550106
	train_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_mean_x_max_u: 1.22233843803
	train_parallel_conv_convlayer_h3_mean_x_mean_u: 0.118577077985
	train_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_min_x_max_u: 0.195431128144
	train_parallel_conv_convlayer_h3_min_x_mean_u: 0.000866635236889
	train_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_range_x_max_u: 3.13895440102
	train_parallel_conv_convlayer_h3_range_x_mean_u: 0.606859028339
	train_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_kernel_norms_max: 0.760955274105
	train_parallel_conv_convlayer_h4_kernel_norms_mean: 0.570158481598
	train_parallel_conv_convlayer_h4_kernel_norms_min: 0.470883280039
	train_parallel_conv_convlayer_h4_max_x_max_u: 2.6798658371
	train_parallel_conv_convlayer_h4_max_x_mean_u: 0.640482604504
	train_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_mean_x_max_u: 1.3443363905
	train_parallel_conv_convlayer_h4_mean_x_mean_u: 0.17930381
	train_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_min_x_max_u: 0.175791949034
	train_parallel_conv_convlayer_h4_min_x_mean_u: 0.00469225132838
	train_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_range_x_max_u: 2.61900639534
	train_parallel_conv_convlayer_h4_range_x_mean_u: 0.635790288448
	train_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_col_norms_max: 0.612556219101
	train_parallel_conv_passthrough_h1p5_col_norms_mean: 0.498540312052
	train_parallel_conv_passthrough_h1p5_col_norms_min: 0.406630069017
	train_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_row_norms_max: 0.877745628357
	train_parallel_conv_passthrough_h1p5_row_norms_mean: 0.798727929592
	train_parallel_conv_passthrough_h1p5_row_norms_min: 0.711752295494
	train_term_0: 3.44134283066
	train_term_1_weight_decay: 0.0570644550025
	train_y_col_norms_max: 1.69868993759
	train_y_col_norms_mean: 1.60381639004
	train_y_col_norms_min: 1.53403103352
	train_y_max_max_class: 0.298726797104
	train_y_mean_max_class: 0.114506825805
	train_y_min_max_class: 0.0269663501531
	train_y_misclass: 0.770089030266
	train_y_nll: 3.39156508446
	train_y_row_norms_max: 0.669397473335
	train_y_row_norms_mean: 0.55021905899
	train_y_row_norms_min: 0.445766955614
	training_seconds_this_epoch: 106.335166931
	valid_h5_col_norms_max: 1.08789944649
	valid_h5_col_norms_mean: 0.97468149662
	valid_h5_col_norms_min: 0.861659884453
	valid_h5_max_x_max_u: 1.59821951389
	valid_h5_max_x_mean_u: 0.361689507961
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.797124564648
	valid_h5_mean_x_mean_u: 0.102893672884
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.233154475689
	valid_h5_min_x_mean_u: 0.00334848253988
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 1.51729023457
	valid_h5_range_x_mean_u: 0.358341068029
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.68864440918
	valid_h5_row_norms_mean: 1.59225916862
	valid_h5_row_norms_min: 1.47595107555
	valid_objective: 3.47759723663
	valid_parallel_conv_convlayer_h1_kernel_norms_max: 0.545069098473
	valid_parallel_conv_convlayer_h1_kernel_norms_mean: 0.25793376565
	valid_parallel_conv_convlayer_h1_kernel_norms_min: 0.132627919316
	valid_parallel_conv_convlayer_h1_max_x_max_u: 5.22880077362
	valid_parallel_conv_convlayer_h1_max_x_mean_u: 0.88814842701
	valid_parallel_conv_convlayer_h1_max_x_min_u: 0.00446984218433
	valid_parallel_conv_convlayer_h1_mean_x_max_u: 1.98691415787
	valid_parallel_conv_convlayer_h1_mean_x_mean_u: 0.245638146996
	valid_parallel_conv_convlayer_h1_mean_x_min_u: 0.000426635786425
	valid_parallel_conv_convlayer_h1_min_x_max_u: 0.768848538399
	valid_parallel_conv_convlayer_h1_min_x_mean_u: 0.0108431363478
	valid_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h1_range_x_max_u: 5.22471570969
	valid_parallel_conv_convlayer_h1_range_x_mean_u: 0.877305388451
	valid_parallel_conv_convlayer_h1_range_x_min_u: 0.00446984218433
	valid_parallel_conv_convlayer_h2_kernel_norms_max: 0.697415888309
	valid_parallel_conv_convlayer_h2_kernel_norms_mean: 0.541957914829
	valid_parallel_conv_convlayer_h2_kernel_norms_min: 0.491710633039
	valid_parallel_conv_convlayer_h2_max_x_max_u: 4.55800580978
	valid_parallel_conv_convlayer_h2_max_x_mean_u: 0.866018295288
	valid_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_mean_x_max_u: 2.94080686569
	valid_parallel_conv_convlayer_h2_mean_x_mean_u: 0.164317965508
	valid_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_min_x_max_u: 1.07303726673
	valid_parallel_conv_convlayer_h2_min_x_mean_u: 0.00243897456676
	valid_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_range_x_max_u: 4.55628442764
	valid_parallel_conv_convlayer_h2_range_x_mean_u: 0.863579392433
	valid_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_kernel_norms_max: 0.635496258736
	valid_parallel_conv_convlayer_h3_kernel_norms_mean: 0.475601166487
	valid_parallel_conv_convlayer_h3_kernel_norms_min: 0.417281359434
	valid_parallel_conv_convlayer_h3_max_x_max_u: 3.32993388176
	valid_parallel_conv_convlayer_h3_max_x_mean_u: 0.657957673073
	valid_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_mean_x_max_u: 1.15156018734
	valid_parallel_conv_convlayer_h3_mean_x_mean_u: 0.118332758546
	valid_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_min_x_max_u: 0.108554311097
	valid_parallel_conv_convlayer_h3_min_x_mean_u: 0.000232559803408
	valid_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_range_x_max_u: 3.32993388176
	valid_parallel_conv_convlayer_h3_range_x_mean_u: 0.657725095749
	valid_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_kernel_norms_max: 0.760954678059
	valid_parallel_conv_convlayer_h4_kernel_norms_mean: 0.570158958435
	valid_parallel_conv_convlayer_h4_kernel_norms_min: 0.470883905888
	valid_parallel_conv_convlayer_h4_max_x_max_u: 2.80686068535
	valid_parallel_conv_convlayer_h4_max_x_mean_u: 0.731145322323
	valid_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_mean_x_max_u: 1.20402169228
	valid_parallel_conv_convlayer_h4_mean_x_mean_u: 0.179259523749
	valid_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_min_x_max_u: 0.053041357547
	valid_parallel_conv_convlayer_h4_min_x_mean_u: 0.00103474932257
	valid_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_range_x_max_u: 2.79055261612
	valid_parallel_conv_convlayer_h4_range_x_mean_u: 0.73011058569
	valid_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_col_norms_max: 0.612555861473
	valid_parallel_conv_passthrough_h1p5_col_norms_mean: 0.498540699482
	valid_parallel_conv_passthrough_h1p5_col_norms_min: 0.406629443169
	valid_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_row_norms_max: 0.877746522427
	valid_parallel_conv_passthrough_h1p5_row_norms_mean: 0.798727214336
	valid_parallel_conv_passthrough_h1p5_row_norms_min: 0.711753308773
	valid_term_0: 3.40822958946
	valid_term_1_weight_decay: 0.0570645928383
	valid_y_col_norms_max: 1.69868779182
	valid_y_col_norms_mean: 1.60381829739
	valid_y_col_norms_min: 1.53402912617
	valid_y_max_max_class: 0.327524572611
	valid_y_mean_max_class: 0.114345654845
	valid_y_min_max_class: 0.02344263345
	valid_y_misclass: 0.771059691906
	valid_y_nll: 3.38180732727
	valid_y_row_norms_max: 0.669397771358
	valid_y_row_norms_mean: 0.550220131874
	valid_y_row_norms_min: 0.445766746998
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl done. Time elapsed: 0.404767 seconds
monitoring channel is valid_y_nll
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl done. Time elapsed: 0.405510 seconds
Time this epoch: 0:01:44.742724
Monitoring step:
	Epochs seen: 3
	Batches seen: 567
	Examples seen: 72576
	learning_rate: 0.0985374078155
	momentum: 0.504522204399
	total_seconds_last_epoch: 237.40625
	train_h5_col_norms_max: 1.08613061905
	train_h5_col_norms_mean: 0.974004864693
	train_h5_col_norms_min: 0.858482003212
	train_h5_max_x_max_u: 1.96456170082
	train_h5_max_x_mean_u: 0.419058412313
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 1.06923985481
	train_h5_mean_x_mean_u: 0.133677795529
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.374110609293
	train_h5_min_x_mean_u: 0.00920701399446
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 1.89563429356
	train_h5_range_x_mean_u: 0.409851133823
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.68702030182
	train_h5_row_norms_mean: 1.59115302563
	train_h5_row_norms_min: 1.47453320026
	train_objective: 3.15244865417
	train_parallel_conv_convlayer_h1_kernel_norms_max: 0.685570180416
	train_parallel_conv_convlayer_h1_kernel_norms_mean: 0.297437727451
	train_parallel_conv_convlayer_h1_kernel_norms_min: 0.140764325857
	train_parallel_conv_convlayer_h1_max_x_max_u: 4.62036514282
	train_parallel_conv_convlayer_h1_max_x_mean_u: 0.903285324574
	train_parallel_conv_convlayer_h1_max_x_min_u: 0.00377422757447
	train_parallel_conv_convlayer_h1_mean_x_max_u: 1.93199086189
	train_parallel_conv_convlayer_h1_mean_x_mean_u: 0.280403316021
	train_parallel_conv_convlayer_h1_mean_x_min_u: 0.000443815544713
	train_parallel_conv_convlayer_h1_min_x_max_u: 1.05460608006
	train_parallel_conv_convlayer_h1_min_x_mean_u: 0.0187964905053
	train_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h1_range_x_max_u: 4.61562347412
	train_parallel_conv_convlayer_h1_range_x_mean_u: 0.884488940239
	train_parallel_conv_convlayer_h1_range_x_min_u: 0.00377422757447
	train_parallel_conv_convlayer_h2_kernel_norms_max: 0.801389992237
	train_parallel_conv_convlayer_h2_kernel_norms_mean: 0.571960568428
	train_parallel_conv_convlayer_h2_kernel_norms_min: 0.491183102131
	train_parallel_conv_convlayer_h2_max_x_max_u: 5.73084259033
	train_parallel_conv_convlayer_h2_max_x_mean_u: 0.941765904427
	train_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_mean_x_max_u: 3.5919482708
	train_parallel_conv_convlayer_h2_mean_x_mean_u: 0.1820730865
	train_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_min_x_max_u: 1.39436197281
	train_parallel_conv_convlayer_h2_min_x_mean_u: 0.00412629870698
	train_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_range_x_max_u: 5.72641420364
	train_parallel_conv_convlayer_h2_range_x_mean_u: 0.937639534473
	train_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_kernel_norms_max: 0.830123722553
	train_parallel_conv_convlayer_h3_kernel_norms_mean: 0.514351427555
	train_parallel_conv_convlayer_h3_kernel_norms_min: 0.416572719812
	train_parallel_conv_convlayer_h3_max_x_max_u: 4.3412322998
	train_parallel_conv_convlayer_h3_max_x_mean_u: 0.754553496838
	train_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_mean_x_max_u: 1.66192686558
	train_parallel_conv_convlayer_h3_mean_x_mean_u: 0.127425789833
	train_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_min_x_max_u: 0.217100769281
	train_parallel_conv_convlayer_h3_min_x_mean_u: 0.000708108884282
	train_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_range_x_max_u: 4.3412322998
	train_parallel_conv_convlayer_h3_range_x_mean_u: 0.753844976425
	train_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_kernel_norms_max: 0.834669530392
	train_parallel_conv_convlayer_h4_kernel_norms_mean: 0.62188833952
	train_parallel_conv_convlayer_h4_kernel_norms_min: 0.475704222918
	train_parallel_conv_convlayer_h4_max_x_max_u: 3.39219355583
	train_parallel_conv_convlayer_h4_max_x_mean_u: 0.825605034828
	train_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_mean_x_max_u: 1.73541975021
	train_parallel_conv_convlayer_h4_mean_x_mean_u: 0.220022365451
	train_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_min_x_max_u: 0.291656136513
	train_parallel_conv_convlayer_h4_min_x_mean_u: 0.00712435971946
	train_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_range_x_max_u: 3.33744263649
	train_parallel_conv_convlayer_h4_range_x_mean_u: 0.818480491638
	train_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_col_norms_max: 0.611957073212
	train_parallel_conv_passthrough_h1p5_col_norms_mean: 0.498053759336
	train_parallel_conv_passthrough_h1p5_col_norms_min: 0.40623024106
	train_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_row_norms_max: 0.876889169216
	train_parallel_conv_passthrough_h1p5_row_norms_mean: 0.797944843769
	train_parallel_conv_passthrough_h1p5_row_norms_min: 0.711056113243
	train_term_0: 3.08835959435
	train_term_1_weight_decay: 0.0579267516732
	train_y_col_norms_max: 1.70989394188
	train_y_col_norms_mean: 1.60584330559
	train_y_col_norms_min: 1.53074157238
	train_y_max_max_class: 0.424290567636
	train_y_mean_max_class: 0.176645368338
	train_y_min_max_class: 0.0359540693462
	train_y_misclass: 0.756696224213
	train_y_nll: 3.08741402626
	train_y_row_norms_max: 0.674779176712
	train_y_row_norms_mean: 0.550921320915
	train_y_row_norms_min: 0.443664848804
	training_seconds_this_epoch: 104.74256897
	valid_h5_col_norms_max: 1.08613097668
	valid_h5_col_norms_mean: 0.974003314972
	valid_h5_col_norms_min: 0.858482718468
	valid_h5_max_x_max_u: 2.04604268074
	valid_h5_max_x_mean_u: 0.481458723545
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 0.970400333405
	valid_h5_mean_x_mean_u: 0.134035155177
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.266867190599
	valid_h5_min_x_mean_u: 0.00357262883335
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 2.00839757919
	valid_h5_range_x_mean_u: 0.47788605094
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.68701946735
	valid_h5_row_norms_mean: 1.59115386009
	valid_h5_row_norms_min: 1.47453093529
	valid_objective: 3.12420320511
	valid_parallel_conv_convlayer_h1_kernel_norms_max: 0.685568988323
	valid_parallel_conv_convlayer_h1_kernel_norms_mean: 0.297438532114
	valid_parallel_conv_convlayer_h1_kernel_norms_min: 0.14076448977
	valid_parallel_conv_convlayer_h1_max_x_max_u: 4.80349397659
	valid_parallel_conv_convlayer_h1_max_x_mean_u: 0.9604164958
	valid_parallel_conv_convlayer_h1_max_x_min_u: 0.00776149798185
	valid_parallel_conv_convlayer_h1_mean_x_max_u: 1.85271954536
	valid_parallel_conv_convlayer_h1_mean_x_mean_u: 0.280201911926
	valid_parallel_conv_convlayer_h1_mean_x_min_u: 0.000459861650597
	valid_parallel_conv_convlayer_h1_min_x_max_u: 0.839811980724
	valid_parallel_conv_convlayer_h1_min_x_mean_u: 0.0121927829459
	valid_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h1_range_x_max_u: 4.80349397659
	valid_parallel_conv_convlayer_h1_range_x_mean_u: 0.948223590851
	valid_parallel_conv_convlayer_h1_range_x_min_u: 0.00776149798185
	valid_parallel_conv_convlayer_h2_kernel_norms_max: 0.801391005516
	valid_parallel_conv_convlayer_h2_kernel_norms_mean: 0.571960091591
	valid_parallel_conv_convlayer_h2_kernel_norms_min: 0.491183549166
	valid_parallel_conv_convlayer_h2_max_x_max_u: 6.01309251785
	valid_parallel_conv_convlayer_h2_max_x_mean_u: 1.02575170994
	valid_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_mean_x_max_u: 3.56847786903
	valid_parallel_conv_convlayer_h2_mean_x_mean_u: 0.18159326911
	valid_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_min_x_max_u: 0.926489055157
	valid_parallel_conv_convlayer_h2_min_x_mean_u: 0.00212383270264
	valid_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_range_x_max_u: 6.01309251785
	valid_parallel_conv_convlayer_h2_range_x_mean_u: 1.02362787724
	valid_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_kernel_norms_max: 0.830121994019
	valid_parallel_conv_convlayer_h3_kernel_norms_mean: 0.514352560043
	valid_parallel_conv_convlayer_h3_kernel_norms_min: 0.416572034359
	valid_parallel_conv_convlayer_h3_max_x_max_u: 4.48199462891
	valid_parallel_conv_convlayer_h3_max_x_mean_u: 0.829745650291
	valid_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_mean_x_max_u: 1.53937411308
	valid_parallel_conv_convlayer_h3_mean_x_mean_u: 0.127330884337
	valid_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_min_x_max_u: 0.134668543935
	valid_parallel_conv_convlayer_h3_min_x_mean_u: 0.00031427416252
	valid_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_range_x_max_u: 4.48199462891
	valid_parallel_conv_convlayer_h3_range_x_mean_u: 0.829431355
	valid_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_kernel_norms_max: 0.83466988802
	valid_parallel_conv_convlayer_h4_kernel_norms_mean: 0.621888041496
	valid_parallel_conv_convlayer_h4_kernel_norms_min: 0.475703805685
	valid_parallel_conv_convlayer_h4_max_x_max_u: 3.66979694366
	valid_parallel_conv_convlayer_h4_max_x_mean_u: 0.968840479851
	valid_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_mean_x_max_u: 1.55808162689
	valid_parallel_conv_convlayer_h4_mean_x_mean_u: 0.220568433404
	valid_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_min_x_max_u: 0.066610366106
	valid_parallel_conv_convlayer_h4_min_x_mean_u: 0.00149815541226
	valid_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_range_x_max_u: 3.66480445862
	valid_parallel_conv_convlayer_h4_range_x_mean_u: 0.967342317104
	valid_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_col_norms_max: 0.611958146095
	valid_parallel_conv_passthrough_h1p5_col_norms_mean: 0.49805316329
	valid_parallel_conv_passthrough_h1p5_col_norms_min: 0.406229913235
	valid_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_row_norms_max: 0.876888334751
	valid_parallel_conv_passthrough_h1p5_row_norms_mean: 0.79794549942
	valid_parallel_conv_passthrough_h1p5_row_norms_min: 0.711056530476
	valid_term_0: 3.06444501877
	valid_term_1_weight_decay: 0.0579267069697
	valid_y_col_norms_max: 1.70989441872
	valid_y_col_norms_mean: 1.60584485531
	valid_y_col_norms_min: 1.53073906898
	valid_y_max_max_class: 0.467918425798
	valid_y_mean_max_class: 0.178204163909
	valid_y_min_max_class: 0.0280128661543
	valid_y_misclass: 0.751019001007
	valid_y_nll: 3.06017303467
	valid_y_row_norms_max: 0.674780130386
	valid_y_row_norms_mean: 0.550921320915
	valid_y_row_norms_min: 0.443664461374
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl done. Time elapsed: 0.404992 seconds
monitoring channel is valid_y_nll
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl done. Time elapsed: 0.405110 seconds
Time this epoch: 0:01:44.619220
Monitoring step:
	Epochs seen: 4
	Batches seen: 756
	Examples seen: 96768
	learning_rate: 0.0980501323938
	momentum: 0.506784319878
	total_seconds_last_epoch: 232.849822998
	train_h5_col_norms_max: 1.08570504189
	train_h5_col_norms_mean: 0.973344922066
	train_h5_col_norms_min: 0.856803178787
	train_h5_max_x_max_u: 2.12440729141
	train_h5_max_x_mean_u: 0.438762813807
	train_h5_max_x_min_u: 0.0
	train_h5_mean_x_max_u: 1.18665456772
	train_h5_mean_x_mean_u: 0.129949748516
	train_h5_mean_x_min_u: 0.0
	train_h5_min_x_max_u: 0.347199887037
	train_h5_min_x_mean_u: 0.00662795314565
	train_h5_min_x_min_u: 0.0
	train_h5_range_x_max_u: 2.02479863167
	train_h5_range_x_mean_u: 0.432134747505
	train_h5_range_x_min_u: 0.0
	train_h5_row_norms_max: 1.68539810181
	train_h5_row_norms_mean: 1.59008705616
	train_h5_row_norms_min: 1.47311389446
	train_objective: 2.87498950958
	train_parallel_conv_convlayer_h1_kernel_norms_max: 0.87911093235
	train_parallel_conv_convlayer_h1_kernel_norms_mean: 0.33376711607
	train_parallel_conv_convlayer_h1_kernel_norms_min: 0.16584636271
	train_parallel_conv_convlayer_h1_max_x_max_u: 4.81935501099
	train_parallel_conv_convlayer_h1_max_x_mean_u: 0.922170341015
	train_parallel_conv_convlayer_h1_max_x_min_u: 0.00493617961183
	train_parallel_conv_convlayer_h1_mean_x_max_u: 1.98887467384
	train_parallel_conv_convlayer_h1_mean_x_mean_u: 0.301489681005
	train_parallel_conv_convlayer_h1_mean_x_min_u: 0.00041335116839
	train_parallel_conv_convlayer_h1_min_x_max_u: 1.12308132648
	train_parallel_conv_convlayer_h1_min_x_mean_u: 0.0207684654742
	train_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h1_range_x_max_u: 4.8127040863
	train_parallel_conv_convlayer_h1_range_x_mean_u: 0.901401817799
	train_parallel_conv_convlayer_h1_range_x_min_u: 0.00493617961183
	train_parallel_conv_convlayer_h2_kernel_norms_max: 0.885901510715
	train_parallel_conv_convlayer_h2_kernel_norms_mean: 0.60272705555
	train_parallel_conv_convlayer_h2_kernel_norms_min: 0.491069018841
	train_parallel_conv_convlayer_h2_max_x_max_u: 5.90655088425
	train_parallel_conv_convlayer_h2_max_x_mean_u: 1.04866480827
	train_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_mean_x_max_u: 3.54130744934
	train_parallel_conv_convlayer_h2_mean_x_mean_u: 0.188345655799
	train_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_min_x_max_u: 1.22595179081
	train_parallel_conv_convlayer_h2_min_x_mean_u: 0.00327053060755
	train_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h2_range_x_max_u: 5.89958047867
	train_parallel_conv_convlayer_h2_range_x_mean_u: 1.04539418221
	train_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_kernel_norms_max: 0.931132137775
	train_parallel_conv_convlayer_h3_kernel_norms_mean: 0.551408708096
	train_parallel_conv_convlayer_h3_kernel_norms_min: 0.416675746441
	train_parallel_conv_convlayer_h3_max_x_max_u: 4.41067552567
	train_parallel_conv_convlayer_h3_max_x_mean_u: 0.764944851398
	train_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_mean_x_max_u: 1.74889433384
	train_parallel_conv_convlayer_h3_mean_x_mean_u: 0.106456868351
	train_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_min_x_max_u: 0.180211529136
	train_parallel_conv_convlayer_h3_min_x_mean_u: 0.000337063887855
	train_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h3_range_x_max_u: 4.40713691711
	train_parallel_conv_convlayer_h3_range_x_mean_u: 0.764607906342
	train_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_kernel_norms_max: 0.926388084888
	train_parallel_conv_convlayer_h4_kernel_norms_mean: 0.668245255947
	train_parallel_conv_convlayer_h4_kernel_norms_min: 0.479229182005
	train_parallel_conv_convlayer_h4_max_x_max_u: 3.46167135239
	train_parallel_conv_convlayer_h4_max_x_mean_u: 0.90078407526
	train_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_mean_x_max_u: 1.69581627846
	train_parallel_conv_convlayer_h4_mean_x_mean_u: 0.22385814786
	train_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_min_x_max_u: 0.194612368941
	train_parallel_conv_convlayer_h4_min_x_mean_u: 0.00410062493756
	train_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	train_parallel_conv_convlayer_h4_range_x_max_u: 3.39686226845
	train_parallel_conv_convlayer_h4_range_x_mean_u: 0.896683454514
	train_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_col_norms_max: 0.611362040043
	train_parallel_conv_passthrough_h1p5_col_norms_mean: 0.497565150261
	train_parallel_conv_passthrough_h1p5_col_norms_min: 0.405831545591
	train_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	train_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	train_parallel_conv_passthrough_h1p5_row_norms_max: 0.876032412052
	train_parallel_conv_passthrough_h1p5_row_norms_mean: 0.797164916992
	train_parallel_conv_passthrough_h1p5_row_norms_min: 0.71036195755
	train_term_0: 2.81119084358
	train_term_1_weight_decay: 0.0588158629835
	train_y_col_norms_max: 1.71276783943
	train_y_col_norms_mean: 1.60816478729
	train_y_col_norms_min: 1.52395164967
	train_y_max_max_class: 0.476834595203
	train_y_mean_max_class: 0.199283912778
	train_y_min_max_class: 0.0386513583362
	train_y_misclass: 0.725818216801
	train_y_nll: 2.87867546082
	train_y_row_norms_max: 0.679701864719
	train_y_row_norms_mean: 0.551727890968
	train_y_row_norms_min: 0.44322258234
	training_seconds_this_epoch: 104.619308472
	valid_h5_col_norms_max: 1.08570790291
	valid_h5_col_norms_mean: 0.9733466506
	valid_h5_col_norms_min: 0.856803119183
	valid_h5_max_x_max_u: 2.21238946915
	valid_h5_max_x_mean_u: 0.512300014496
	valid_h5_max_x_min_u: 0.0
	valid_h5_mean_x_max_u: 1.07458376884
	valid_h5_mean_x_mean_u: 0.130150511861
	valid_h5_mean_x_min_u: 0.0
	valid_h5_min_x_max_u: 0.216587662697
	valid_h5_min_x_mean_u: 0.00250007235445
	valid_h5_min_x_min_u: 0.0
	valid_h5_range_x_max_u: 2.15139007568
	valid_h5_range_x_mean_u: 0.50980001688
	valid_h5_range_x_min_u: 0.0
	valid_h5_row_norms_max: 1.68539810181
	valid_h5_row_norms_mean: 1.59008443356
	valid_h5_row_norms_min: 1.47311270237
	valid_objective: 2.86400866508
	valid_parallel_conv_convlayer_h1_kernel_norms_max: 0.879111886024
	valid_parallel_conv_convlayer_h1_kernel_norms_mean: 0.333766400814
	valid_parallel_conv_convlayer_h1_kernel_norms_min: 0.165846124291
	valid_parallel_conv_convlayer_h1_max_x_max_u: 4.94203567505
	valid_parallel_conv_convlayer_h1_max_x_mean_u: 0.972066164017
	valid_parallel_conv_convlayer_h1_max_x_min_u: 0.00704380916432
	valid_parallel_conv_convlayer_h1_mean_x_max_u: 1.90105378628
	valid_parallel_conv_convlayer_h1_mean_x_mean_u: 0.3014549613
	valid_parallel_conv_convlayer_h1_mean_x_min_u: 0.000636515847873
	valid_parallel_conv_convlayer_h1_min_x_max_u: 0.896123349667
	valid_parallel_conv_convlayer_h1_min_x_mean_u: 0.0137809738517
	valid_parallel_conv_convlayer_h1_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h1_range_x_max_u: 4.94052600861
	valid_parallel_conv_convlayer_h1_range_x_mean_u: 0.958285093307
	valid_parallel_conv_convlayer_h1_range_x_min_u: 0.00704380916432
	valid_parallel_conv_convlayer_h2_kernel_norms_max: 0.885901868343
	valid_parallel_conv_convlayer_h2_kernel_norms_mean: 0.602727591991
	valid_parallel_conv_convlayer_h2_kernel_norms_min: 0.491068273783
	valid_parallel_conv_convlayer_h2_max_x_max_u: 6.12580156326
	valid_parallel_conv_convlayer_h2_max_x_mean_u: 1.13522553444
	valid_parallel_conv_convlayer_h2_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_mean_x_max_u: 3.47896265984
	valid_parallel_conv_convlayer_h2_mean_x_mean_u: 0.18762601912
	valid_parallel_conv_convlayer_h2_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_min_x_max_u: 0.968961238861
	valid_parallel_conv_convlayer_h2_min_x_mean_u: 0.00169447972439
	valid_parallel_conv_convlayer_h2_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h2_range_x_max_u: 6.12580156326
	valid_parallel_conv_convlayer_h2_range_x_mean_u: 1.13353097439
	valid_parallel_conv_convlayer_h2_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_kernel_norms_max: 0.931133508682
	valid_parallel_conv_convlayer_h3_kernel_norms_mean: 0.551408886909
	valid_parallel_conv_convlayer_h3_kernel_norms_min: 0.416676133871
	valid_parallel_conv_convlayer_h3_max_x_max_u: 4.62362670898
	valid_parallel_conv_convlayer_h3_max_x_mean_u: 0.846282243729
	valid_parallel_conv_convlayer_h3_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_mean_x_max_u: 1.62259304523
	valid_parallel_conv_convlayer_h3_mean_x_mean_u: 0.106432706118
	valid_parallel_conv_convlayer_h3_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_min_x_max_u: 0.0824776217341
	valid_parallel_conv_convlayer_h3_min_x_mean_u: 7.80532427598e-05
	valid_parallel_conv_convlayer_h3_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h3_range_x_max_u: 4.62362670898
	valid_parallel_conv_convlayer_h3_range_x_mean_u: 0.846204221249
	valid_parallel_conv_convlayer_h3_range_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_kernel_norms_max: 0.92638617754
	valid_parallel_conv_convlayer_h4_kernel_norms_mean: 0.668245911598
	valid_parallel_conv_convlayer_h4_kernel_norms_min: 0.479228556156
	valid_parallel_conv_convlayer_h4_max_x_max_u: 3.65560150146
	valid_parallel_conv_convlayer_h4_max_x_mean_u: 1.07124590874
	valid_parallel_conv_convlayer_h4_max_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_mean_x_max_u: 1.44132936001
	valid_parallel_conv_convlayer_h4_mean_x_mean_u: 0.223661348224
	valid_parallel_conv_convlayer_h4_mean_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_min_x_max_u: 0.0373526625335
	valid_parallel_conv_convlayer_h4_min_x_mean_u: 0.000539954169653
	valid_parallel_conv_convlayer_h4_min_x_min_u: 0.0
	valid_parallel_conv_convlayer_h4_range_x_max_u: 3.65128302574
	valid_parallel_conv_convlayer_h4_range_x_mean_u: 1.07070612907
	valid_parallel_conv_convlayer_h4_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_col_norms_max: 0.611361324787
	valid_parallel_conv_passthrough_h1p5_col_norms_mean: 0.497565984726
	valid_parallel_conv_passthrough_h1p5_col_norms_min: 0.405831128359
	valid_parallel_conv_passthrough_h1p5_max_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_max_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_mean_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_min_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_max_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_mean_u: 0.0
	valid_parallel_conv_passthrough_h1p5_range_x_min_u: 0.0
	valid_parallel_conv_passthrough_h1p5_row_norms_max: 0.876031339169
	valid_parallel_conv_passthrough_h1p5_row_norms_mean: 0.797164916992
	valid_parallel_conv_passthrough_h1p5_row_norms_min: 0.710360407829
	valid_term_0: 2.79175043106
	valid_term_1_weight_decay: 0.0588157661259
	valid_y_col_norms_max: 1.71276640892
	valid_y_col_norms_mean: 1.60816681385
	valid_y_col_norms_min: 1.52395510674
	valid_y_max_max_class: 0.523913323879
	valid_y_mean_max_class: 0.200201302767
	valid_y_min_max_class: 0.0296451337636
	valid_y_misclass: 0.715692937374
	valid_y_nll: 2.86897516251
	valid_y_row_norms_max: 0.679701983929
	valid_y_row_norms_mean: 0.551726996899
	valid_y_row_norms_min: 0.443223267794
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv.pkl done. Time elapsed: 0.414054 seconds
monitoring channel is valid_y_nll
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl...
Saving to /disk/scratch/neuroglycerin/models/parallel_interactive_opencv_recent.pkl done. Time elapsed: 0.412167 seconds
Time this epoch: 0:01:43.524435
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-152-c7cf1da1badc> in <module>()
----> 1 train.main_loop()

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/train.pyc in main_loop(self, time_budget)
    213                                          "continues.")
    214                     self.model.monitor.report_epoch()
--> 215                     extension_continue = self.run_callbacks_and_monitoring()
    216                     if self.save_freq > 0 and \
    217                        self.model.monitor.get_epochs_seen() % self.save_freq == 0:

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/train.pyc in run_callbacks_and_monitoring(self)
    240             extension wants to stop learning.
    241         """
--> 242         self.model.monitor()
    243         continue_learning = True
    244         for extension in self.extensions:

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/pylearn2/pylearn2/monitor.pyc in __call__(self)
    252             else:
    253                 actual_ne = 0
--> 254                 for X in myiterator:
    255                     # X is a flat (not nested) tuple
    256                     self.run_prereqs(X, d)

<ipython-input-138-b73e9ba16a0a> in next(self)
     17     def next(self):
     18         # get a batch from both iterators:
---> 19         Xbatch1,ybatch1 = self.iterator_1.next()
     20         vectorbatch = self.cached[self.index*self.batch_size:(self.index+1)*self.batch_size,:]
     21         self.index += 1

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-tools/neukrill_net/image_directory_dataset.pyc in next(self)
     72             # iterate over indices, applying the dataset's processing function
     73             for i,j in enumerate(batch_indices):
---> 74                 Xbatch[i] = self.dataset.fn(self.dataset.X[j]).reshape(Xbatch.shape[1:])
     75             # get the batch for y as well
     76             ybatch = self.dataset.y[batch_indices,:].astype(np.float32)

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-tools/neukrill_net/augment.pyc in __call__(self, image)
    367 
    368         # Augment and preprocess
--> 369         return self.augment_and_process(image, aug_dic, self.settings)
    370 
    371 

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-tools/neukrill_net/augment.pyc in augment_and_process(self, image, aug_dic, processing_settings)
    430             resize_order = 0.75
    431         if 'resize' in processing_settings:
--> 432             image = image_processing.resize_image(image, processing_settings['resize'], resize_order)
    433 
    434         #####################################################

/afs/inf.ed.ac.uk/user/s08/s0805516/repos/neukrill-net-tools/neukrill_net/image_processing.pyc in resize_image(image, size, order)
    273     if order>0 and order<1:
    274         image = (order * skimage.transform.resize(image, size, cval=whiteVal, order=1) +
--> 275                             (1-order) * skimage.transform.resize(image, size, cval=whiteVal, order=0) )
    276     else:
    277         image = skimage.transform.resize(image, size, cval=whiteVal, order=order)

KeyboardInterrupt: 

In [153]:
import pickle

In [154]:
with open('/disk/scratch/s1145806/cached_hlf_train_data.pkl','rb') as f:
    cached = pickle.load(f)

In [155]:
cached.shape


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-155-4a1d120926d4> in <module>()
----> 1 cached.shape

AttributeError: 'NDArrayWrapper' object has no attribute 'shape'

In [157]:
cached = np.load('/disk/scratch/s1145806/cached_hlf_train_data.pkl')

In [158]:
cached.shape


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-158-4a1d120926d4> in <module>()
----> 1 cached.shape

AttributeError: 'NDArrayWrapper' object has no attribute 'shape'

In [156]:
cached


Out[156]:
<sklearn.externals.joblib.numpy_pickle.NDArrayWrapper at 0x7f70d503a550>

In [161]:
import sklearn.externals.joblib

In [163]:
cached=sklearn.externals.joblib.load('/disk/scratch/s1145806/cached_hlf_train_data.pkl')

In [164]:
cached.shape


Out[164]:
(1, 30336, 170)

In [165]:
cached.squeeze().shape


Out[165]:
(30336, 170)